# encoding: utf-8
"""
@author: 夏洛
@QQ: 1972386194
@file: 03-pyquery.py
"""

from pyquery import PyQuery as pq

# 表示成功

html = '''
<div id="cont">   
    <ul class="slist">
         <li class="item-0">web开发</li>
         <li class="item-1"><a href="link2.html">爬虫开发</a></li>
         <li class="item-0 active"><a href="link3.html"><span class="bold">数据分析</span></a></li>
         <li class="item-1 active"><a href="link4.html">深度学习</a></li>
         <li class="item-0"><a href="link5.html">机器学习</a></li>
     </ul>
 </div>
'''
obj = pq(html)  # 参数 是html文本
li = obj('li')  # 参数是节点
print(li)

'''
    <div id="cont">      第一层
        <ul class="slist">  第二层
             <li class="item-0">web开发</li>  第三层
         </ul>    
    </div>
    #  描述 ID
    .  描述 class
    标签  直接写标签名字
        
'''
print(obj('#cont .slist li'))  # 3级 表示能精确得定位   长沙市 岳麓区

# 湖南省 长沙市 岳麓区  某某街道 新公国际  4级   可以跳级

# for item in obj('#cont .slist li').items():
#     print(item.text())


items = obj('.slist')  # 定位局部 html 域
print(type(items))
print(items)       # 提取节点所有内容
lis = items.find('li')  # 标签查询  查询全部匹配得结果
print(lis)

print(items.children())  # 属于  .slist 下面的节点



# 定位到兄弟节点  从同节点 查询 符合要求的数据
li = obj('.slist .item-0.active')
# print(li.siblings())
print(li.siblings('.active'))



a = obj('.item-0.active a')
print(a, type(a))
print(a.attr('href'))


doc = pq(html)
a = doc('a')
print(a)
print(type(a))
print(type(a.items()))
for s in a.items():
    print(s.attr('href'))  # 属性获取
    print(s.text())   #  值获取


#j 节点修改
li = obj('.item-0.active')
print(li)
li.removeClass('active')
print(li)
li.addClass('xialuo')
print(li)

# 写爬虫会 先下载html  然后再提取数据


